﻿/* **************************************************************************
 *
 * Copyright 2007-2010 Jeff Hardy
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * *************************************************************************/

using System.Web;

namespace NWSGI.AspNet
{
    class WsgiAspNetResponse : IWsgiResponse
    {
        private HttpResponse response;

        public WsgiAspNetResponse(HttpContext context)
        {
            this.response = context.Response;
        }

        // TODO: Errors should go somewhere useful, like the tracing log
        public IWsgiErrorStream ErrorStream { get { return null; } }

        public void SetStatus(string status)
        {
            response.Status = status;
        }

        public void AddHeader(string name, string value)
        {
            response.AddHeader(name, value);
        }

        public void Write(byte[] data)
        {
            response.OutputStream.Write(data, 0, data.Length);
        }

        public void Flush()
        {
            response.Flush();
        }

        public void TransmitFile(string path)
        {
            response.TransmitFile(path);
        }
    }
}
